package com.rockcent.mall.lib.dto;

import com.rockcent.common.domain.DtoEntity;
import com.rockcent.mall.lib.domain.Mall;
import org.hibernate.validator.constraints.NotEmpty;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by oyhk on 16/7/15.
 */
public class MallDto extends DtoEntity {

    // 平台名称
    @NotEmpty(message = Mall.CHECK_NAME_IS_NOT_NULL)
    private String name;
    // 公司名称
    @NotEmpty(message = Mall.CHECK_COMPANY_NAME_IS_NOT_NULL)
    private String companyName;
    // 配置的域名地址
    @NotEmpty(message = Mall.CHECK_HOSTNAME_IS_NOT_NULL)
    private String hostName;
    // 角色 (默认拥有 商家的角色)
    private List<String> roleList = new ArrayList<>();
    // logo
    private String logoPath;
    //用户id
    private Long userBaseId;
    // 商户id
    private Long merchantId;
    // 商户名称
    private String merchantName;
    // 联系人
    @NotEmpty(message = "联系人不能为空")
    private String userInfoRealName;
    // 手机
    private String userInfoMobile;
    // 邮箱
    private String userInfoEmail;
    //服务费比率
    private String serveRate;
    //分享返利比率
    private String shareRate;

    //是否开启产品审核
    private Boolean proAudit;
    //访问URL
    private String url;

    //平台背景图
    private String backgroundPicture;
    //平台大LOGO
    private String logoBigPicture;
    //平台小LOGO
    private String logoSmallPicture;
    //平台标签
    private String tag;
    //平台描述
    private String introduce;
    //平台关键词
    private String keyword;
    //客服邮箱
    private String serviceEmail;
    //客服电话
    private String serviceTelephone;
    //在线QQ
    private String onlineQq;
    //二维码图片URL
    private String qRCodeUrl;
    //访问url
    private String accessUrl;

    private String roleCode;
    //经营行业
    private String industry;

    //平台产品总数
    private int productCount;

    //平台商家总数
    private int merchantCount;

    //平台渠道总数
    private int channelCount;

    //自定义M端域名
    private String customerPlatformDomain;

    //ALL("全部"), UN_AUDIT("未认证"), AUDIT("审核中"), AUDIT_PASS("审核通过"), NOT_AUDIT("审核不通过")
    private String auditCertifyInfo;

    //ICP备案号
    private String icpNumber;

    //是否成为会员NOT_MEMBER("不是会员"), PROBATION_MEMBER("试用期30天会员, 默认"),MEMBER("会员")
    private String mallMember;

    //试用期剩余天数
    private int probationDay;

    //审核意见
    private String auditCertifyInfoRemark;

    public String getRoleCode() {
        return roleCode;
    }

    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    }

    public Boolean getProAudit() {
        return proAudit;
    }

    public void setProAudit(Boolean proAudit) {
        this.proAudit = proAudit;
    }

    public String getName() {
        return name;
    }

    public String getAccessUrl() {
        return accessUrl;
    }

    public void setAccessUrl(String accessUrl) {
        this.accessUrl = accessUrl;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getqRCodeUrl() {
        return qRCodeUrl;
    }

    public void setqRCodeUrl(String qRCodeUrl) {
        this.qRCodeUrl = qRCodeUrl;
    }

    public String getHostName() {
        return hostName;
    }

    public void setHostName(String hostName) {
        this.hostName = hostName;
    }

    public Long getUserBaseId() {
        return userBaseId;
    }

    public void setUserBaseId(Long userBaseId) {
        this.userBaseId = userBaseId;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }


    public List<String> getRoleList() {
        return roleList;
    }

    public void setRoleList(List<String> roleList) {
        this.roleList = roleList;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getLogoPath() {
        return logoPath;
    }

    public void setLogoPath(String logoPath) {
        this.logoPath = logoPath;
    }

    public String getUserInfoRealName() {
        return userInfoRealName;
    }

    public void setUserInfoRealName(String userInfoRealName) {
        this.userInfoRealName = userInfoRealName;
    }

    public String getUserInfoMobile() {
        return userInfoMobile;
    }

    public void setUserInfoMobile(String userInfoMobile) {
        this.userInfoMobile = userInfoMobile;
    }

    public String getUserInfoEmail() {
        return userInfoEmail;
    }

    public void setUserInfoEmail(String userInfoEmail) {
        this.userInfoEmail = userInfoEmail;
    }

    public String getShareRate() {
        return shareRate;
    }

    public void setShareRate(String shareRate) {
        this.shareRate = shareRate;
    }

    public String getServeRate() {
        return serveRate;
    }

    public void setServeRate(String serveRate) {
        this.serveRate = serveRate;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getBackgroundPicture() {
        return backgroundPicture;
    }

    public void setBackgroundPicture(String backgroundPicture) {
        this.backgroundPicture = backgroundPicture;
    }

    public String getLogoBigPicture() {
        return logoBigPicture;
    }

    public void setLogoBigPicture(String logoBigPicture) {
        this.logoBigPicture = logoBigPicture;
    }

    public String getLogoSmallPicture() {
        return logoSmallPicture;
    }

    public void setLogoSmallPicture(String logoSmallPicture) {
        this.logoSmallPicture = logoSmallPicture;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public String getServiceEmail() {
        return serviceEmail;
    }

    public void setServiceEmail(String serviceEmail) {
        this.serviceEmail = serviceEmail;
    }

    public String getServiceTelephone() {
        return serviceTelephone;
    }

    public void setServiceTelephone(String serviceTelephone) {
        this.serviceTelephone = serviceTelephone;
    }

    public String getOnlineQq() {
        return onlineQq;
    }

    public void setOnlineQq(String onlineQq) {
        this.onlineQq = onlineQq;
    }

    public String getIndustry() {
        return industry;
    }

    public void setIndustry(String industry) {
        this.industry = industry;
    }


    public int getProductCount() {
        return productCount;
    }

    public void setProductCount(int productCount) {
        this.productCount = productCount;
    }

    public int getMerchantCount() {
        return merchantCount;
    }

    public void setMerchantCount(int merchantCount) {
        this.merchantCount = merchantCount;
    }

    public int getChannelCount() {
        return channelCount;
    }

    public void setChannelCount(int channelCount) {
        this.channelCount = channelCount;
    }

    public String getCustomerPlatformDomain() {
        return customerPlatformDomain;
    }

    public void setCustomerPlatformDomain(String customerPlatformDomain) {
        this.customerPlatformDomain = customerPlatformDomain;
    }

    public String getAuditCertifyInfo() {
        return auditCertifyInfo;
    }

    public void setAuditCertifyInfo(String auditCertifyInfo) {
        this.auditCertifyInfo = auditCertifyInfo;
    }

    public String getIcpNumber() {
        return icpNumber;
    }

    public void setIcpNumber(String icpNumber) {
        this.icpNumber = icpNumber;
    }

    public String getMallMember() {
        return mallMember;
    }

    public void setMallMember(String mallMember) {
        this.mallMember = mallMember;
    }

    public int getProbationDay() {
        return probationDay;
    }

    public void setProbationDay(int probationDay) {
        this.probationDay = probationDay;
    }

    public String getAuditCertifyInfoRemark() {
        return auditCertifyInfoRemark;
    }

    public void setAuditCertifyInfoRemark(String auditCertifyInfoRemark) {
        this.auditCertifyInfoRemark = auditCertifyInfoRemark;
    }

    @Override
    public String toString() {
        return "MallDto{" +
                "name='" + name + '\'' +
                ", companyName='" + companyName + '\'' +
                ", hostName='" + hostName + '\'' +
                ", roleList=" + roleList +
                ", logoPath='" + logoPath + '\'' +
                ", userBaseId=" + userBaseId +
                ", merchantId=" + merchantId +
                ", merchantName='" + merchantName + '\'' +
                ", userInfoRealName='" + userInfoRealName + '\'' +
                ", userInfoMobile='" + userInfoMobile + '\'' +
                ", userInfoEmail='" + userInfoEmail + '\'' +
                ", serveRate='" + serveRate + '\'' +
                ", shareRate='" + shareRate + '\'' +
                ", proAudit=" + proAudit +
                ", url='" + url + '\'' +
                ", backgroundPicture='" + backgroundPicture + '\'' +
                ", logoBigPicture='" + logoBigPicture + '\'' +
                ", logoSmallPicture='" + logoSmallPicture + '\'' +
                ", tag='" + tag + '\'' +
                ", introduce='" + introduce + '\'' +
                ", keyword='" + keyword + '\'' +
                ", serviceEmail='" + serviceEmail + '\'' +
                ", serviceTelephone='" + serviceTelephone + '\'' +
                ", onlineQq='" + onlineQq + '\'' +
                ", qRCodeUrl='" + qRCodeUrl + '\'' +
                ", accessUrl='" + accessUrl + '\'' +
                ", roleCode='" + roleCode + '\'' +
                ", industry='" + industry + '\'' +
                ", productCount=" + productCount +
                ", merchantCount=" + merchantCount +
                ", channelCount=" + channelCount +
                ", customerPlatformDomain='" + customerPlatformDomain + '\'' +
                ", auditCertifyInfo='" + auditCertifyInfo + '\'' +
                ", icpNumber='" + icpNumber + '\'' +
                ", mallMember='" + mallMember + '\'' +
                ", probationDay=" + probationDay +
                ", auditCertifyInfoRemark='" + auditCertifyInfoRemark + '\'' +
                '}';
    }
}
